iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 13
0
  1. 分類

    1. CWE / SANS TOP25:幾乎都是可以理解的
    2. OWASP TOP10:開放Web應用程式安全性項目OWASP
  2. 常見漏洞和對策

    1. 注射攻擊
      SQL:
      輸入特定的字符串以執行其他設計時
      腳步:
      -提供測試輸入,以查看是否可訪問和可操作
      -實驗,使用錯誤消息->獲取信息
      -具有目標的SQL注入
      -當抑制SQL錯誤時,使用結構化攻擊形式(盲)
      設計SQL訪問權限而不允許用戶操縱SQL語句
      -使用存儲過程
      -使用參數化查詢
      -驗證輸入
      意識,測試和驗證方法
      操作系統:
      當程序執行由OS處理的功能時,使用用戶的輸入作為參數
      整數溢位:
      語言特定的解決方案
      轉向異常處理
      使用邊界值進行測試以在測試過程中強制內部錯誤
      目錄遍歷:
      例如,使用../向上訪問存儲在Web根目錄之外的文件和目錄
      - 不使用用戶輸入來存取本地資源
      - 將用戶輸入匹配到特定資源,然後將路徑寫死(Hard Code)
      跨站點腳本攻擊(XSS)
      用戶輸入包括腳本(Script)但沒有緩解
      - 非永久性:立即執行並通過Web服務器傳回結果
      - 持久性:存儲在Web服務器或什至後端存儲上
      將做開發人員設計的任何事情
      - 竊取身份驗證信息
      - 會話劫持(Session hijacking)
      - 部署敵對內容
      - 更改設置
      - 冒充用戶
      - 釣魚或竊取敏感信息
      解決方案:
      使用Anti-XSS lib從輸入中隔離腳本
      限制上傳類型
      屏幕上傳尺寸
      測試中
      跨站點偽造請求(CSRF)
      行為:
      - 先前認證中已認證的用戶
      - 通過欺騙經過身份驗證的用戶的瀏覽器,向目標站點發送HTTP請求
      解決方案:
      限制認證時間
      Cookie到期
      管理網頁標題等特定元素並進行檢查
      使用隨機CSRF令牌(Token)

    2. 加密失敗
      憑證寫死(Hard Code)
      缺少敏感數據的加密
      使用損壞/風險/自己創建的演算法
      使用沒有完整性檢查的程式碼
      使用沒有加鹽(Salted)的單向雜湊
      彩虹表:
      密碼的所有可能組合,最多14個字符,可以查詢哈希值
      鹽值(Salt)連接到密碼:
      - 增加密碼長度
      - 不同帳戶之間的相同密碼不再產生相同的雜湊值

    3. 輸入驗證失敗
      輸入驗證失敗
      緩衝區溢出
      不受信任的輸入依賴
      跨站點腳本編寫和跨站點請求偽造
      目錄遍歷
      緩衝區大小計算錯誤
      輸出驗證
      緩衝區溢出
      用於保存輸入的輸入緩衝區被大於緩衝區大小的資料覆蓋
      - 不良的編程習慣
      - 語言弱點
      SOLID 編碼原則
      驗證所有輸入
      規範化錯誤
      應用程序將字符串處理為基本形式
      問題行為:
      規範化之前的有效性檢查,一切看起來不錯
      - 按應用規範化
      - 字符串的基本形式是敵對的
      防衛功能缺失
      在以下位置缺少或不正確:
      身份驗證和身份驗證嘗試計數
      授權,權限,不必要的權限
      上傳文件大小/類型
      URL重定向
      不信任的網站
      不受控制的格式字符串


上一篇
技術領域
下一篇
防禦性編碼做法
系列文
安全軟體開發生命週期(SSDLC)學習筆記36
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言